package com.fowo.api.model.loan.advance.payment;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 贷款预付款 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class LoanAdvancePaymentImportPo {

  /** 供应商 */
  @ExcelProperty("*供应商")
  @NotBlank(message = "供应商不能为空")
  @Size(max = 50, message = "供应商长度不能超过50")
  private String supplierNameSupplierName;

  /** 采购单号 */
  @ExcelProperty("采购单号")
  @Size(max = 50, message = "采购单号长度不能超过50")
  private String purchaseOrderCode;

  /** 采购方 */
  @ExcelProperty("采购方")
  @Size(max = 50, message = "采购方长度不能超过50")
  private String applicationDepName;

  /** 预付单号 */
  @ExcelProperty("预付单号")
  private String prepayOrderCode;

  /** 状态 */
  @ExcelProperty("状态")
  private String status;

  /** 采购量 */
  @ExcelProperty("采购量")
  private String purchaseQuantity;

  /** 采购货值 */
  @ExcelProperty("采购货值")
  private String purchaseValue;

  /** 预付比例 */
  @ExcelProperty("预付比例")
  @DecimalString(message = "预付比例小数格式不正确", label = "预付比例")
  private String budgetRatio;

  /** 应预付货值 */
  @ExcelProperty("应预付货值")
  @DecimalString(message = "应预付货值小数格式不正确", label = "应预付货值")
  private String shouldPrepayValue;

  /** 折扣金额 */
  @ExcelProperty("折扣金额")
  private String discountAmount;

  /** 已付金额 */
  @ExcelProperty("已付金额")
  @DecimalString(message = "已付金额小数格式不正确", label = "已付金额")
  private String actuallyPaid;

  /** 未付金额 */
  @ExcelProperty("未付金额")
  @DecimalString(message = "未付金额小数格式不正确", label = "未付金额")
  private String unpaidMoney;

  /** 申请中 */
  @ExcelProperty("申请中")
  @DecimalString(message = "申请中小数格式不正确", label = "申请中")
  private String inApplication;

  /** 未申请 */
  @ExcelProperty("未申请")
  private String notApply;

  /** 采购员 */
  @ExcelProperty("采购员")
  @Size(max = 50, message = "采购员长度不能超过50")
  private String optUidName;

  /** 结算描述 */
  @ExcelProperty("结算描述")
  @Size(max = 50, message = "结算描述长度不能超过50")
  private String describe;

  /** 预计付款时间 */
  @ExcelProperty("预计付款时间")
  @DateString(message = "预计付款时间不是有效的日期格式")
  private String predictFkTime;

  /** 支付方式 */
  @ExcelProperty("支付方式")
  private String payType;

  /** 户名 */
  @ExcelProperty("户名")
  @Size(max = 50, message = "户名长度不能超过50")
  private String userName;

  /** 开户行 */
  @ExcelProperty("开户行")
  @Size(max = 50, message = "开户行长度不能超过50")
  private String bankOfDeposit;

  /** 账户 */
  @ExcelProperty("账户")
  @Size(max = 50, message = "账户长度不能超过50")
  private String account;

  /** 付款币种 */
  @ExcelProperty("付款币种")
  private String currency;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remarks;
}
